import axios from 'axios'
import Cookies from 'js-cookie'
import { _decode } from './util'
// 创建 axios 实例
const instance = axios.create({
  baseURL: '/api',
  timeout: 10000,
  withCredentials: true, // 自动发送 Cookie
})

// 请求拦截器
instance.interceptors.request.use(
  (config) => {
    // withCredentials: true 配置会自动发送 Cookie
    // 不需要手动设置 Cookie 头部
    return config
  },
  (error) => {
    return Promise.reject(error)
  },
)

// 响应拦截器
instance.interceptors.response.use(
  (response) => {
    const data = response.data
    if (data.data) {
      const encrypt = data.data
      return _decode(encrypt)
    } else {
      return data
    }
  },
  (error) => {
    console.error('API请求错误:', error)
    return Promise.reject(error)
  },
)

export default instance
